The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
The use of random numbers is almost ubiquitous in the fields of computer science and information technology. Random numbers are used to encode sensitive messages, to create simulations that mimic real, randomized events (also known as Monte Carlo simulations used in scientific computations and modeling of consumer behavior by Wall Street), for gaming applications such as lotteries, and for hosts of other applications in science and communications. Traditional random number generator (RNG) devices have made use of various electronic and optical noises to generate an initial number. In many cases, the process is slow enough that these initial number values provide only a “seed” for mathematical algorithms that ultimately produce random bits. These random bits, however, are only pseudo-random due to fundamental limitations in system design. More recently, cyclic processes have been used in addition to randomness for everything from signal embedding to creation of Physically Unclonable Functions (PUFs) in an effort to maximize protection of sensitive data.
Currently, optical systems producing random numbers do so by using optical noise. However, the sources of noise in conventional designs, e.g. noise due to single photons passing through an optical beam splitter, show significant fluctuations due to temperature and external conditions and in many cases require subtraction of a DC signal. This means that many RNGs are only useful with circuitry (Von Neuman correctors) that corrects for significant numbers of zero bits due to low photonic count rates or filtering of non-random backgrounds that are typically orders of magnitude bigger than the desired effect. Such RNG devices may also exhibit slow speeds, as the system must wait for noise levels to rise above some thresholds.
As electronic devices have become faster, cheaper and parallel in operations, there remains significant interest in producing truly random numbers in a manner not subject to operating conditions or the need for pseudo-random algorithms. As electronic devices have more complicated mechanism for data security and management, the use of a single device that can provide encryption, PUFs and even data storage as part of its design structure will improve its acceptance and use in the computing industry.